// GTY

#pragma once

#include "CoreMinimal.h"
#include "AbilitySystem/Abilities/AuraGameplayAbility.h"
#include "AuraSprint.generated.h"

/**
 * 
 */
UCLASS()
class AURAGAME_API UAuraSprint : public UAuraGameplayAbility
{
	GENERATED_BODY()

public:
	UAuraSprint();

	virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;
	virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;

protected:
	UPROPERTY(EditDefaultsOnly, Category = "Speed")
	float NewMaxSpeed;

	UFUNCTION(BlueprintCallable)
	void SetNewMaxSpeed();

private:
	float OriginalMaxSpeed = 850;

	bool bIsSprinting = false;
	
};
